iT邦幫忙

2025 iThome 鐵人賽

DAY 29
0
AI & Data

AI-ction!我的超級瑪莉歐闖關歷險記:用自動化破關,收集時間金幣系列 第 29

Day 29:挑戰日誌 —— ChatBot的未來藍圖

  • 分享至 

  • xImage
  •  

我們的 ChatBot 昨天正式登上舞台,透過 Streamlit 與使用者互動,成為一個能被世界看見的服務雛形。

接下來,我們開始想像它真正上線、變成完整產品的樣子……

我們的期待,是讓 ChatBot 不只是回答問題,而是真正像「貼心旅伴」一樣,陪伴每一次旅程。

產品上線之前的內部測試

這邊提一下遇到的小狀況,

  • 狀況一:RAG 資料庫中明明有檢索資料,可 ChatBot 回覆找不到...

使用者:
請幫我規劃一趟波卡拉3天2夜的行程,包含精采體驗及活動、建議停留時間,以及推薦原因。

ChatBot :
您好!很抱歉,我目前手邊的尼泊爾景點資訊中,並沒有關於波卡拉(Pokhara)的詳細資料,因此無法為您規劃波卡拉3天2夜的精采行程。我只有巴克塔普爾杜巴廣場和朗塘國家公園的相關資訊。如果您對這些地方感興趣,我很樂意為您提供更全面的旅遊建議。

關鍵就在於,我們一開始定義 def retrieve(query, top_k=2),設定在 FAISS 向量資料庫中搜尋top_k個與使用者查詢的最相似的景點,調整成top_k=5之後,總算成功檢索到了。

ChatBot :
親愛的旅伴,太棒了!我終於為您找到了博卡拉(Pokhara)的完整資訊了!真的非常抱歉讓您久等了,過去我一直無法提供,但現在我已經準備好為您量身打造一趟充滿湖光山色與刺激活動的3天2夜精彩行程!博卡拉擁有高達 94%的好評度,絕對值得一訪,是情侶、家庭和攝影愛好者的天堂!

但在這邊發現了新的問題,

  • 狀況二:ChatBot 回覆語氣過於誇張

關鍵就在於,我們一開始 prompt 設計讓 ChatBot 針對使用者即時回饋而導致的。為了解決這點,我們加入「保持自然、不誇張、親切且專業的語氣。」的提示詞。調整之後語氣自然多了!

ChatBot :
哈囉!很高興能為您規劃博卡拉3天2夜的行程!博卡拉以其絕美的自然風光和豐富的戶外活動聞名,好評度高達94%,絕對值得您來體驗。這個時間長度非常適合深入感受它的魅力。

宏觀思維:從 ChatBot 到「旅伴式產品」

除了基本功能測試以外,我們還希望 ChatBot 成為有溫度、會理解使用者需求的旅遊夥伴。
我們想像使用者在規劃旅遊行程時中會遇到的情境:

行程規劃:

「我3天要去加德滿都和博卡拉,有什麼建議?」

景點資訊:

「Swayambhunath的門票和開放時間?」

這次在打磨 ChatBot 時我們聚焦在以下核心理念

  • 個性化與情境化

讓 ChatBot 根據使用者偏好、情緒等資訊來調整回覆內容。
整合景點資料庫,包括評分、季節、活動與適合族群,避免制式回答。

  • 價值導向

讓 ChatBot 解決旅遊痛點:行程安排、景點選擇、交通規劃、住宿建議、小提醒、個人偏好整合。
每次互動,都讓使用者感受到:「我被理解,也被照顧」。

策略落地:功能設計與技術步驟

理念確立後,我們開始試著讓產品化抽象想法能夠實際落地。

透過整理常見提問梳理使用者需求,讓 ChatBot 回答有深度、貼心、且趣味十足,就像是真正懂你需求的旅伴。

prompt = f"""
你是一位專業且親切的尼泊爾旅遊助理,就像貼心旅伴。請依照以下指示回答使用者問題:

1️⃣ **整合資訊**  
 - 請務必**全面整合**檢索到的景點資訊,包含「好評度」、「最佳造訪季節」、「特色活動或體驗」、「地點類型」、「適合族群建議」、「平均停留時間建議」、「常見抱怨或負評原因」和「關聯景點建議」,提供**更全面且個人化**的旅遊建議。
 - 將資訊整理成完整、個人化的旅遊建議。

2️⃣ **回答重點**  
 - 提供景點推薦、行程規劃、交通建議、天氣提示、住宿選擇、小提醒。
 - 若使用者提到偏好(如:人少、交通便利、特定活動、逛市場),請優先考慮並明確回應。  
 - 簡要說明不同景點間的地理位置或交通考量,幫助規劃順遊路線。  

3️⃣ **對話連貫性**  
 - 結合對話歷史,保持回答連貫,避免前後矛盾。  

4️⃣ **格式與語氣**  
 - 使用 Markdown 或清單排版,清楚呈現資訊。  
 - 中文回答,保持自然、**不誇張**、親切且專業的語氣。
 - 5-7 句話內提供建議,避免重複或制式回答。  
 - 好評度 > 91% 的景點可特別強調,低於 91% 則不用強調。  

5️⃣ **情緒即時回饋**  
- 參考使用者的情緒或回饋({emotion_feedback}),調整語氣和建議內容,讓回覆更貼近使用者心情。  
- 如使用者顯示興奮或期待,可加入熱情、推薦理由;如顯示疑惑或猶豫,可用耐心、溫暖的語氣引導。  

以下是對話歷史:{memory}
使用者情緒或回饋:{emotion_feedback}
檢索到的景點資訊:{context}
使用者問題:{query}

    response = client.models.generate_content(model="gemini-2.5-flash", contents=prompt)
    return response.text.strip()

升級後的 ChatBot 2.0 回覆品質無論是內容或者視覺排版上,體驗觀感都大大提升。
https://ithelp.ithome.com.tw/upload/images/20251014/20178812WlFcB5lWI7.png

產品化價值與未來展望

我們的 ChatBot 經過今天的打磨後,回應品質大大提升。
未來,可以延伸多一點「視覺化與互動」元素,讓使用者可以即時看到旅程累積與互動結果,增強沉浸感與產品感。


上一篇
Day 28:挑戰日誌 —— ChatBot的服務之翼
下一篇
Day 30:鐵人練成—— 從自動化到產品化的修煉之旅
系列文
AI-ction!我的超級瑪莉歐闖關歷險記:用自動化破關,收集時間金幣30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言